home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
os2
/
birth10.arj
/
BIRTHDAY.DOC
< prev
next >
Wrap
Text File
|
1994-03-07
|
12KB
|
346 lines
**************************************************************
*** eine deutsche Anleitung ist in der Datei BIRTHDAY.DOK enthalten***
**************************************************************
Birthday Reminder V1.0
written March 1994 by
Wolfram Koerner
Contact:
--------
Internet : koerner@cip.informatik.uni-wuerzburg.de
Fido : Wolfram Koerner@2:2490/5100.8
Snailmail: Wolfram Koerner
Friedenstrasse 5a
97072 Wuerzburg
GERMANY
Contents:
---------
* What for ?
* How is it done ?
* Birthdaytest at Startup
* Format of the database
* Disclaimer
What for ?
----------
BIRTHDAY.CMD is a REXX-Program for people like me that always
forget the birthdays of their relatives. It can automatically
remind you for these yearly events.
For every event there can be specified a prewarning time from 0
to 28 days. e.g. to get a gift and send it by mail just-in-time.
So the program knows two sorts of messages:
* a warning message
WARNING: 22. Birthday in 5 day(s) !
* or a birthday message
A HAPPY 22. BIRTHDAY TO:
After every message there is a question if you want to be warned
again next time the database is checked (keep event active) or if
you don't want to hear the message again - so answer "N" to:
Keep event active (Y/N) <enter>=YES ?
Passive events can be reactivated by selecting "r" from the
mainmenu.
The program creates a database to remember all the birthdays. The
defaultname for this database is "c:\birthday.dat". You can
change this default by editing line 28 in the REXX-Script
BIRTHDAY.CMD. Search for the line starting with "DBFile="
Because of this database BIRTHDAY.CMD has 2 operationmodes:
* Databasemode (here you can edit and view your database)
BIRTHDAY.CMD<enter>
* Checkmode. This just checks the database for warn-events:
BIRTHDAY.CMD /c
How is it done ?
----------------
When the program is run for the first time, just enter:
BIRTHDAY.CMD<enter>
The following screen should appear:
┌────────────────────────────────────────────────────────────────────────────┐
│ Birthday Reminder V1.0 │
│ │
│ Today:03/06/94 │
│ Database: 0 Recs - DATE sorted │
├────────────────────────────────────────────────────────────────────────────┤
│ │
│ │
│ L ..... List complete database │
│ P ..... Print database │
│ R ..... Reactivate passive events │
│ S ..... Sort database by: NAME │
│ C ..... Check for birthdays │
│ │
│ A ..... Add a record │
│ E ..... Edit a record │
│ D ..... Delete a record │
│ │
│ Q ..... Quit program (and save data) │
│ │
│ _ ----> YOUR CHOICE │
│ │
└──────────────────────────────────────────────────────────────────(C)'94 WOK┘
Under the programtitle the current date is displayed in the format
mm/dd/yy. The next line shows how much records are in the
database and how they are sorted (NAME or DATE sorted) - see Menu
"S"
Next the Mainmenu is displayed:
MAINMENU:
L ..... List complete database
Lists the complete contents of the whole database. After every
20 lines the program waits for <enter>
The format of the output is:
No. Name Memo mm/dd/yy (PW) :NE #D
-------------------------------------------------------------------------
No. - Number of database record.
A record can change its number if records are
inserted or deleted before this record. This
number is required if you want to re-edit a record
or if you want to delete a record.
Name - Name of the person whose birthday is stored
The max.length is 25 chars. All chars above 25
will be cut of.
You can sort your database by this datafield
instead of the date-field. (See "S")
Memo - A max. 20 char long Memo-field for additional
information.
mm/dd/yy - the date of birth in US-format.
By default the database is sorted by this
datafield.
The year ranges from 00 to 99 so perhaps in year
2000 we will get problems ?
(PW) - The prewarningdays (0 to 28).
From the PW-th day before the birthday a warning
is displayed every time you check the database.
:NE - Year of the next event.
At the birthday in THIS year the next warning will
be displayed. This value is increased either if
the birthday is over for this year or if you
answer to the question
Keep event active (Y/N) <enter>=YES ?
with a "n" - NO. When you switched an event
passive and you want to reactivate it, you can
reactivate all events that are not yet gone for
this year with Mainmenu "r".
#D - Number of days to next birthday.
-1 means : no warning today
0 means : BIRTHDAY, TODAY !!
PW>= n >0 means: birthday in n days
MAINMENU:
P ..... Print database
With this command you can output the contents of your database
to a device or file of your choice. So you have to enter the
device or filename first:
e.g.: PRN Printer
LPT2 Printer on LPT2-port
CON Screen
c:\data\birth.txt a file
MAINMENU:
R ..... Reactivate passive events
Here you can reactivate events that have been switched passive
for this year by mistake.
BUT: ALL passive events that are not yet passed by will be
reactivated !
MAINMENU:
S ..... Sort database by: NAME/DATE
Normally the database is sorted by the birthday-field. This
makes sense because if you want to know how the birthdays are
spread over the year, watch the list! But sometimes you may
search for the birthday of a special person. So if you have a
huge database it may be helpful if you sort it by name. So hit
"s" in the mainmenu and the database will be sorted by NAME if it
was sorted by DATE or by DATE if it was sorted by NAME.
The current sortmode is displayed in the titlescreen.
When you quit BIRTHDAY.CMD the database is saved in the last
chosen sortorder. So next session you will find your database
the same way you left it last time.
MAINMENU:
C ..... Check for birthdays
Checks the database for coming birthdays.
Necessary warnings and birthday-messages are displayed.
This Routine can be called directly from the commandline by using
the commandline switch /C
BIRTHDAY.CMD /c
At each warning two beeps will be heard from the PC-speaker. And
every birthday-message is guided by a short melody "Happy
Birthday to you..." If you don't like that use the switch /Q for
the Quiet-Mode:
BIRTHDAY:CMD /Q
or for a quiet-check:
BIRTHDAY /c /q
MAINMENU:
A ..... Add a record
Inserts a record to the database.
The desired fields must be filled with legal values. Especially
the birthdayfield and the prewarningfield. Some tests are made
to reject senseless values for this field but be safe - so FIRST
THINK THEN ENTER a value !
MAINMENU:
E ..... Edit a record
After the question for the recordnumber you can edit all fields
of the record by hitting the letter in front of the field.
With "E"-Exit you can leave the edit-menu and save the changes.
Your record may be sorted to a new position if you changed the
sortfield-entry of the record.
MAINMENU:
D ..... Delete a record
Here you can delete a record by entering its recordnumber.
A security-question follows !
MAINMENU:
Q ..... Quit program (and save data)
You will leave the program by selecting this point. The
database contents will be saved before. Which file is used for
the database is defined in line 28 of the REXX-script. So search
for "DBFile=" in the source. If you want an different
databasefile just change this line.
Once your database is complete, you can simply check for coming
birthdays by just entering
BIRTHDAY.CMD /C
or for a quiet-check:
BIRTHDAY /q /c
Birthdaytest at startup
-----------------------
If you want to check for coming birthdays every time you boot your
OS/2 first create a file STARTUP.CMD in the rootdirectory of your
OS/2-bootdrive
c:\STARTUP.CMD
This OS/2-commandfile is executed every time OS/2 is booted.
One line of this file should call the birthdayprogram in the
checkmode e.g.:
call c:\cmd-files\birthday.cmd /c
Thats it !
Format of the database
----------------------
Birthday Database 1.0 (This MUST be in the first line !!!!)
SortIndex=n (2nd line like this but n=1 or n=3)
(3rd line has to be empty !)
Name # 1 (Begin of 1st datarecord)
Memo # 1
mm/dd/yy (birthday # 1)
nn (prewarning-days from 0 to 28)
95 (Year of next event)
(empty line after every record !!!)
Name # 2 (Begin 2nd record)
Memo # 2
02/03/71
3
95
(empty line even behind the last record !!)
Disclaimer
----------
Especially programs that create/move data on your harddisk are
always a danger. Data can be lost due to mistakes in
programming. I want to underline at this point that there are
possible dangers by undiscovered bugs in the program. Though I
tested the program very carefully it may still contain bugs that
corrupt your data. So if you want to be on the save side just
don't start my program but delete it from your disks.
The Copyright for this piece of work (program and documentation)
is mine. But i declare my program FREEWARE. So you can spread
the program to all your friends. BUT: In an unchanged form. If
you changed the program or the documentation you are not allowed
to spread it again. If there should be reasons for changes just
contact me and we can implement fixes or enhancements together.
This is the only way to avoid version confusion.
Thank you !
----------------------------------------------------Wuerzburg, March of 1994